package demo.security.core.validate.code;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * ValidateCode
 *
 * @author lidj
 * @date 2018-01-11
 */
@Data
public class ValidateCode {
    /**
     * 验证码
     */
    private String code;

    /**
     * 过期时间
     */
    private LocalDateTime expireTime;


    /**
     * 特别注意改构造函数
     * 我们设置过期时间的时候，不可能写xxx年xx月xxxxxx的时间戳过期
     * 而是希望传一个多少秒过期过来
     * 然后系统自动根据现在的时间加上我们设置的过期秒数
     * 所以，这个构造方法才是实际应用的比较多的
     *
     * 当然，您如果喜欢其他的默认构造方式，我们也是提供的
     * @param code
     * @param expireIn
     */
    public ValidateCode(String code, int expireIn){
        this.code = code;
        this.expireTime = LocalDateTime.now().plusSeconds(expireIn);
    }


    public boolean isExpried(){
        return LocalDateTime.now().isAfter(expireTime);
    }
}
